package IC.lir.instructions;
import IC.lir.*;
import java.util.List;

import IC.lir.operands.Operand;
import IC.lir.operands.RegOperand;

import util.Pair;

/* a general call instruction */
abstract public class CallInstr extends Instruction {
	private List<Pair<String, Operand>>	args;
	private RegOperand 					dest;

	/**
	 * @param args the arguments of the call
	 * @param dest the destination register
	 */
	public CallInstr(List<Pair<String, Operand>> args, RegOperand dest) {
		this.args = args;
		this.dest = dest;
	}

	/**
	 * @return the arguments of the call
	 */
	public List<Pair<String, Operand>> getArgs() {
		return args;
	}

	/**
	 * @return the destination register
	 */
	public RegOperand getDest() {
		return dest;
	}
}
